Software provisioning is the process of selecting a target machine such as a server, loading the appropriate software operating system, device drivers, middleware, and applications, and customizing and configuring the system and the software to make it ready for operation. Software provisioning can entail a variety of tasks such as creating or changing a boot image, specifying parameters (e.g., IP address, IP gateway, etc.) to find associated network and storage resources) and then starting the machine and its newly loaded software.
Commonly, a system administrator will perform these tasks using various tools because of the complexity of these tasks. Typically, software provisioning can include the installation or reinstallation of software on a target machine. The installation of an operating system can become tedious because of the multiple prompts that should be addressed to properly configure an operating system. One tool used by the system administrator to ease the burden is known as an answer file. The answer file contains responses to the prompts that occur during the installation of the operating system. Unfortunately, the answer files are usually hand-crafted and sometimes time-consuming to create.